草庐IT

ios - UILabel 覆盖之前的值

全部标签

ruby - RSpec 2 的 RCov 未正确检测覆盖范围? (不是 Rails!)

前言我刚刚开始接触Ruby,不仅尝试学习语言,还尝试学习一些开发策略。作为初学者,我专注于测试和行为驱动开发。(是的,我两者都做是为了比较)我正在使用的小型软件项目单元测试(TDD)cucumber(BDD)Rspec(TDD和BDD)在不同的地方,我遇到了RCov作为一种工具,它告诉我我实际测试了多少实际代码。我在我的Rakefile中设置了以下RakeTask,用于单元测试的协方差分析:desc"RunRCovtogetcoverageofUnitTests"Rcov::RcovTask.new(:rcov_units)do|t|t.pattern='tests/**/tc_*.r

ruby - 获取通过 `attr_accessor` 定义的所有变量而不覆盖 `attr_accessor`

我正在我的程序中设置一些跟踪代码,想知道哪些方法是通过attr_accessor定义的。使用TracePoint,我可以检测何时调用attr_accessor,但我不知道如何让它告诉我它收到的参数。有任何想法吗? 最佳答案 在问题标题中,您要求提供变量列表,但这回答了问题主体,它要求提供定义的方法列表。此方法不会检查实例变量,如果您开始手动更新或创建其他实例变量,则会引入噪音。moduleMethodTracerTracePoint.trace(:c_call)do|t|if(t.method_id==:attr_accessor)

我可以覆盖用 C 编写的 Ruby 方法吗?

是否可以使用Ruby代码覆盖Ruby本身的一部分方法,例如rb_error_frozen,它们是用C语言编写的?背景:我想知道当卡住的对象被修改时,是否有可能让Ruby仅记录警告,而不引发异常。这样,我可以记录各种状态修改,而不是在第一次发生时停止。我主要考虑使用YARV执行此操作,但如果这样更容易,我可以使用其他实现。是的,这是一个whyday项目!不要在生产环境中尝试这个! 最佳答案 我只能代表MRI/YARV,但我会试一试。如果C函数已明确定义为Ruby对象上的方法,则只能在Ruby中覆盖源自C的函数。例如,Kernel#ex

ruby-on-rails - Activeadmin 渲染 'new' 在尝试覆盖创建 Controller 方法时给出无法找到没有 ID 的用户

我正在尝试在activeadmin中创建一个页面,用户可以在其中创建新的用户帐户。我正在使用以下代码覆盖我的用户模型的默认创建方法。当我尝试呈现new页面时,出现错误Couldn'tfindUserwithoutanID。为什么在尝试重新呈现new操作时会出现此错误?ActiveAdmin.registerUserdopermit_paramsdopermitted=[:email,:encrypted_password]permitted日志:StartedGET"/admin/users/new"for127.0.0.1at2014-03-0921:34:35-0500Proces

ruby - RSpec 2之前(:suite) variable scope

基本上我想创建一个数组,然后在我的规范中附加到它,然后再最终处理并将它显示给用户。我可以想出一些解决方法,但理想情况下我想执行以下操作。RSpec.configuredo|config|config.before(:suite){@array_of_stuff||=[]}config.after(:suite){process_and_print(@array_of_stuff)}enddefprocess_and_print(array)#dostuffend不幸但并不令人惊讶的是@array_of_stuff不在范围内并且不能从我的规范中追加,这与在before(:all)bloc

ruby - 我可以覆盖 Ruby 中的系统时区吗?

我在Ubuntu12.04上,我可以看到:$cat/etc/timezoneAmerica/Phoenix相应地,Time将返回一个非UTC时区的时间:$irb>Time.now=>2013-03-2713:44:49-0700>Time.at0=>1969-12-3117:00:00-0700我可以使用TZ环境变量覆盖系统时区:$TZ=UTCirb>Time.now=>2013-03-2720:47:19+0000>Time.at0=>1970-01-0100:00:00+0000无论如何,我可以在Ruby进程中以编程方式进行此更改吗? 最佳答案

ruby - 有没有办法设置$的值?在 Ruby 的模拟中?

我正在测试一些与系统命令交互的脚本。它们的逻辑取决于系统命令的返回码,即$?的值。因此,作为一个简化的示例,脚本可能会说:deffoo(command)output=`#{command}`if$?==0'succeeded'else'failed'endend为了能够正确测试这些方法,我希望能够将内核反引号调用stub,并设置$?到任意值,以查看我是否在反引号调用后从方法中的逻辑中获得适当的行为。$?是一个只读变量,因此以下内容不起作用:$?=some_number我可以做一些简单的事情:例如,设置$?为零或非零。例如,将设置$?到0或35212(无论如何在我的系统上),取决于$?的

ruby-on-rails - 如何使用 rails 3.1 覆盖 Zurb Foundation css 属性?

大家好,我正在开发一个新的Rails应用程序,我刚刚开始使用Foundation。我是用安装的railsgfoundation:install一切都按预期工作(我的意思是我可以在我的源代码中看到css,还有它的视觉效果;p)我只是不明白如何覆盖ZurbFoundation的默认属性...我在网上看到我应该编辑一些foundation.css或app.css但我的应用程序文件夹中似乎没有任何类似的文件....我通过编辑gemfile然后进行捆绑安装来完成安装。干杯 最佳答案 是的,如果您对app/assets/stylesheets/

ruby - 条件语句出现在表达式之前还是之后有关系吗?

如果这是一个愚蠢的问题,我很抱歉,但我是一个在ruby​​周围摸索的C#人..在ruby​​中,我注意到很多人这样做:do_something(withparams)if1=1那个和这个之间有什么区别吗(甚至是轻微的):if1=1do_something(withparams)还是为了更清楚而写的相同内容? 最佳答案 后者在句法上是无效的。你需要写:if1==1thendo_something(withparams)end单行条件句必须始终尾随。是的,有区别。试试这些:bar1=iffoo1=14foo1*3end#=>42bar2

ruby - 带有临时文件的奇怪的 Ruby IO

这让我发疯。请考虑以下事项:require'open-uri'#setuptempfileextname=File.extnamefile_urlbasename=File.basename(file_url,extname)file=Tempfile.new([basename,extname])#readformURIintotempfileuri=URI.parse(file_url)num_bytes_writen=file.write(uri.read)puts"Wrote#{num_bytes_writen}bytes"#Readingfrommytempfileputs"